vue 所有生命周期函数都执行了两遍的问题 您所在的位置:网站首页 uniapp created执行几次 vue 所有生命周期函数都执行了两遍的问题

vue 所有生命周期函数都执行了两遍的问题

2024-07-10 10:58| 来源: 网络整理| 查看: 265

在原有项目新增功能需求模块开发的过程中,发现无论哪一个模板中的created函数都被执行了两次,遂非常熟练的打开了百度…

网络上的解决办法有:

解决方案1:检查main.js 中是否重复声明vue实例 (没有, pass)解决方案2:据说使用了mixin的会调用两次 (尝试用一个干净的vue项目,使用一个简单的mixin文件,发现并没有执行两遍,把本项目的app文件其他内容全都注释,只留纯净的初始版本,发现也会调用两次。pass)解决方案3:说什么路由配置问题(直接注掉路由的引用,还是调用了两遍,pass)解决方案4:v-if引起,改成v-show (没用,pass)

网上找的方案都无法解决之后,开始自个一个一个点的排查。。。在追踪问题根源的最后,把main.js中所有其他的引用全部注释了,把app中的其他代码也全都注释了,只留下最初创建的项目代码,就这样,main.js还执行了两遍,那应该跟这些代码都没有干系!!!(#゚Д゚)于是打开index.html,看见如下代码: 在这里插入图片描述 这里是遍历js文件,在html中手动引入一遍。

那么如果原来默认的自动注入没有取消,就会导致所有的js重复引用一遍,即main.js会调用两次,即生命周期钩子函数会调用两次,啊问题就出在这里。因为在vue配置文件中,仅对生产环境取消了js默认注入,而本地开发环境还是正常处理,导致在开发环境的js重复引用,最终生命周期函数重复执行。

ps:

html-webpack-plugin 配置项中有一个inject属性 true|body:所有JavaScript资源插入到body元素的底部head:所有JavaScript资源插入到head元素中false:所有静态资源css和JavaScript都不会注入到模板文件中

找问题的同时学到了,奈斯~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有